﻿using System.Drawing;

namespace Kyoh.Lib.Excel
{
    /// <summary>オブジェクトの罫線を表します。</summary>
	public class Border : Component
	{
		private Border(object exBorder, Component parent)
			: base(exBorder, parent)
		{
		}

        /// <summary>Excel COM オブジェクトで、新しいインスタンスを初期化します。</summary>
        /// <param name="obj">Excel COM オブジェクト</param>
        /// <param name="parent">親となる <see cref="Component"/> オブジェクト。</param>
		internal static Border Create(object obj, Component parent)
		{
			return obj == null ? null : new Border(obj, parent);
		}

        /// <summary>罫線の色を取得・設定します。</summary>
		public Color Color
		{
			get { return Color.FromArgb((int)base.GetProperty("Color")); }
			set { base.SetProperty("Color", value.ToArgb()); }
		}

        /// <summary>罫線の色をインデックスで取得・設定します。</summary>
		public int ColorIndex
		{
			get { return (int)base.GetProperty("ColorIndex"); }
			set { base.SetProperty("ColorIndex", value); }
		}

        /// <summary>罫線のスタイルを取得・設定します。</summary>
		public LineStyle LineStyle
		{
			get { return (LineStyle)(int)base.GetProperty("LineStyle"); }
			set { base.SetProperty("LineStyle", (int)value); }
		}

        /// <summary>罫線の太さを取得・設定します。</summary>
		public BorderWeight BorderWeight
		{
			get { return (BorderWeight)(int)base.GetProperty("BorderWeight"); }
			set { base.SetProperty("BorderWeight", (int)value); }
		}
	}
}
